#include <stdio.h>
union data {
    short int i;
    char c[2];
} a;

int main()
{
    char t;
    a.i = 258;
    printf("i=%d\n", a.i);

    printf("hi:%d, lo:%d\n",
           a.c[1], a.c[0]);
    t = a.c[0];
    a.c[0] = a.c[1];
    a.c[1] = t; //交换两个字节
    printf("hi:%d, lo:%d\n",
           a.c[1], a.c[0]);
    printf("i=%d\n", a.i); //513
    return 0;
}